#ifndef DEFIN_H
#define DEFIN_H

#define MAXVIEWFILTER 400
#define filterDigree  0
#define LaserPointsCount   720
#define LaserDegree        0.25
#define LaserStep          4
#define HT_GAMA            1.764705882
#define HT_DISTANCE        100
#define POINTINSEGMENT     102
#define COUNTSEGMENT       7
#define LEG_SEPARATION     50
#include "../include/objectPoint.h"
typedef enum
{
    UTM = 0,
    UBG = 1
} LRF_DEVICE;
class Pair
{
public:
    PointF pos1_;
    PointF pos2_;
    string legType;
    double confidenceFactor;
    Pair(PointF pos1,PointF pos2,string str ,double CF)
        :pos1_(pos1)
        ,pos2_(pos2)
        ,legType(str)
        ,confidenceFactor(CF)
    {};
};


typedef struct convexHull_Struct
{
    //float Xmin,Ymin;
    // float Xmax,Ymax;
    float Rmin,Rmax;
    objectPoint minPoint;
    objectPoint maxPoint;

    void setMinPoint(float Xmin,float Ymin)
    {
        minPoint.SetXY(Xmin,Ymin);
    }
    void setMaxPoint(float Xmax,float Ymax)
    {
        maxPoint.SetXY(Xmax,Ymax);
    }
    float getXmin()
    {
        return minPoint.getX();
    }
    float getYmin()
    {
        return minPoint.getY();
    }
    float getXmax()
    {
        return maxPoint.getX();
    }
    float getYmax()
    {
        return maxPoint.getY();
    }
}eConvexHull;

typedef  struct eeLinePoint_Struct
{
    float x;
    float y;
    float r;
}eLinePoint;

typedef  struct eLine_Struct
{

    eLinePoint StartPoint;
    eLinePoint EndPoint;
    float m;
}eLine;

typedef struct _pointObjects
{
    int startIdx;
    int middleIdx;
    eLinePoint midPoint;
    int endIdex;

}pointObjects;

#endif // DEFIN_H
